At the turn of the millennium, Carles Simó discovered several hundred planar three-body gravitational choreographies, and here they are in your browser:

Gravitational choreographies are periodic solutions of gravitational systems in which all bodies traverse the same orbit at equally spaced intervals. A system that starts off entirely in a plane, with no velocity components normal to the plane, will remain in the plane. For the choreographies presented here, the first third of the orbit is red, the second blue and the third green.

The data available on the linked website is formatted for presentation with the open-source application gnuplot. While one can certainly avail oneself of that resource, it is convenient to visualize the choreographies interactively without the need for downloading, compiling and running desktop software.

The data file dat.orb detailing the choreographies is rather large, even for a fast Internet connection, so it makes sense to break it into individual files, as for example with the following Python code:

data = open( 'dat.orb', 'r' )

n = 1
l1, l2, l3 = [], [], []

for line in data:

  if len( line ) == 1:

    print 'Saving choreography ' + str(n)

    output = open( 'output/' + str(n) + '.txt', 'w' )

    if n in [ 5, 19, 20, 21 ]:
      output.write( str( [ l2, l3, l1 ] ) )
    else:
      output.write( str( [ l2, l1, l3 ] ) )

    output.close()

    n += 1
    l1, l2, l3 = [], [], []

  else:

    d = [ float(i) for i in line.split() ]
    l1.append( [ d[0], d[1] ] )
    l2.append( [ d[2], d[3] ] )
    l3.append( [ round( -d[0]-d[2], 4), round( -d[1]-d[3], 4 ) ] )

print 'Done'

data.close()

The individual choreographies are saved in each file as arrays of three lines, one for each third of the orbit. The third corresponding to the array l2 always begins in the upper right quadrant, and is followed by l1 except for the four cases handled differently in the code. The arrays of points for each line are then presented using MathCell, an open-source library for visualizing mathematical physics in the browser.

The intent behind this visualization is to make the variety of these particular solutions to the three-body problem manifest. Perhaps that will stimulate new and interesting approaches to grasping the complexities of this most intriguing problem.

Many thanks to Señor Simó for making this data available to all of us!


Uploaded 2018.05.26 — Updated 2018.05.31 analyticphysics.com